//package com.dsbj.mp.icardservice.controller.physicalcondition;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.serializer.SerializerFeature;
//import com.google.common.collect.Maps;
//import java.lang.reflect.Field;
//import java.util.Arrays;
//import java.util.Collection;
//import java.util.HashMap;
//import java.util.HashSet;
//import java.util.Map;
//import java.util.Set;
//
///**
// * @author cjw 2020/2/10
// */
//
////
//// Source code recreated from a .class file by IntelliJ IDEA
//// (powered by Fernflower decompiler)
////
//
//public class ResponseMessage<T> extends BaseResponse {
//	protected T data;
//	private Long timestamp;
//	private boolean success;
//	private transient Map<Class<?>, Set<String>> includes;
//	private transient Map<Class<?>, Set<String>> excludes;
//
//	public ResponseMessage() {
//	}
//
//	public T getData() {
//		return this.data;
//	}
//
//	public void setSuccess(boolean success) {
//		this.success = success;
//	}
//
//	public boolean isSuccess() {
//		return this.success;
//	}
//
//	public Long getTimestamp() {
//		return this.timestamp;
//	}
//
//	public static <T> ResponseMessage<T> error(String message) {
//		return error(500, message);
//	}
//
//	public static <T> ResponseMessage<T> error(int status, String message) {
//		ResponseMessage<T> msg = new ResponseMessage();
//		msg.message = message;
//		msg.status(status);
//		msg.success = false;
//		return msg.putTimeStamp();
//	}
//
//	public ResponseMessage<T> status(int status) {
//		this.status = status;
//		return this;
//	}
//
//	public ResponseMessage<T> data(T data) {
//		this.data = data;
//		return this;
//	}
//
//	private ResponseMessage<T> putTimeStamp() {
//		this.timestamp = System.currentTimeMillis();
//		return this;
//	}
//
//	public ResponseMessage<T> success(boolean success) {
//		this.success = success;
//		return this;
//	}
//
//	public static <T> ResponseMessage<T> ok(T result) {
//		return ok(result, (String)null);
//	}
//
//	public static <T> ResponseMessage<T> ok() {
//		return ok((Object)null);
//	}
//
//	public static <T> ResponseMessage<T> ok(T result, String msg) {
//		return (new ResponseMessage()).data(result).message(msg).success(true).putTimeStamp().status(200);
//	}
//
//	public static <T> ResponseMessage<T> okWithMsg(String msg) {
//		return ok((Object)null, msg);
//	}
//
//	private ResponseMessage<T> message(String msg) {
//		this.message = msg;
//		return this;
//	}
//
//	public Map<Class<?>, Set<String>> getExcludes() {
//		return this.excludes;
//	}
//
//	public Map<Class<?>, Set<String>> getIncludes() {
//		return this.includes;
//	}
//
//	private Set<String> getStringListFromMap(Map<Class<?>, Set<String>> map, Class type) {
//		return (Set)map.computeIfAbsent(type, (k) -> {
//			return new HashSet();
//		});
//	}
//
//	public ResponseMessage<T> include(Class<?> type, Collection<String> fields) {
//		if (null == this.includes) {
//			this.includes = Maps.newHashMap();
//		}
//
//		if (null != fields && !fields.isEmpty()) {
//			fields.forEach((field) -> {
//				if (field.contains(".")) {
//					String[] tmp = field.split("[.]", 2);
//
//					try {
//						Field field1 = type.getDeclaredField(tmp[0]);
//						if (field1 != null) {
//							this.include(field1.getType(), tmp[1]);
//						}
//					} catch (Throwable var5) {
//					}
//				} else {
//					this.getStringListFromMap(this.includes, type).add(field);
//				}
//
//			});
//			return this;
//		} else {
//			return this;
//		}
//	}
//
//	public ResponseMessage include(Collection<String> fields) {
//		if (this.includes == null) {
//			this.includes = new HashMap(16);
//		}
//
//		if (fields != null && !fields.isEmpty()) {
//			if (this.getData() != null) {
//				Class type = this.getData().getClass();
//				this.include(type, fields);
//				return this;
//			} else {
//				return this;
//			}
//		} else {
//			return this;
//		}
//	}
//
//	public ResponseMessage<T> exclude(Class type, Collection<String> fields) {
//		if (this.excludes == null) {
//			this.excludes = Maps.newHashMap();
//		}
//
//		if (fields != null && !fields.isEmpty()) {
//			fields.forEach((field) -> {
//				if (field.contains(".")) {
//					String[] tmp = field.split("[.]", 2);
//
//					try {
//						Field field1 = type.getDeclaredField(tmp[0]);
//						if (field1 != null) {
//							this.exclude(field1.getType(), tmp[1]);
//						}
//					} catch (Throwable var5) {
//					}
//				} else {
//					this.getStringListFromMap(this.excludes, type).add(field);
//				}
//
//			});
//			return this;
//		} else {
//			return this;
//		}
//	}
//
//	public ResponseMessage<T> exclude(Collection<String> fields) {
//		if (this.excludes == null) {
//			this.excludes = Maps.newHashMap();
//		}
//
//		if (fields != null && !fields.isEmpty()) {
//			if (this.getData() != null) {
//				Class type = this.getData().getClass();
//				this.exclude(type, fields);
//				return this;
//			} else {
//				return this;
//			}
//		} else {
//			return this;
//		}
//	}
//
//	public ResponseMessage<T> include(Class<?> type, String... fields) {
//		return this.include(type, (Collection)Arrays.asList(fields));
//	}
//
//	public ResponseMessage<T> exclude(Class<?> type, String... fields) {
//		return this.exclude(type, (Collection)Arrays.asList(fields));
//	}
//
//	public String toString() {
//		return JSON.toJSONStringWithDateFormat(this, "yyyy-MM-dd HH:mm:ss", new SerializerFeature[0]);
//	}
//}
//
//
//
//
//
